Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M25 Roda de Bara Porto Challenger Mallorca Challenger M25 Idanha-a-Nova Prague 3 Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 Braga Challenger Bratislava 2 Challenger Lisbon Challenger Ortisei Challenger Ismaning Challenger Calgary Challenger M15 Alcala de Henares M15 Ceuta Oeiras 2 Challenger Oeiras 1 Challenger M15 Monastir M15 Monastir Davis Cup, World Group, Q, FIN-POR 3-1 M15 Sharm ElSheikh M15 Sharm ElSheikh M15 Sharm ElSheikh Girona Challenger Millennium Estoril Open - Estoril M25 Mataro M25 Elvas Cassis Challenger Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Spain F30 Spain F31 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F32 Spain F35 Spain F36 France F4 Spain F14 Spain F15 Spain F16 Spain F17 Spain F18 Spain F23 Spain F24 Spain F26 Spain F27 Spain F29 Spain F30 Spain F31 Spain F32 Spain F33 Portugal F4 Spain F36 Spain F37 Spain F38 Spain F41 Spain F4 Spain F6 Turkey F12 Turkey F13 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F19 Spain F20 Spain F21 Spain F24 Spain F25 Spain F26 Spain F27 Spain F29 Spain F32 France F22 France F2 France F3 Spain F3 Spain F4 Spain F5 Spain F6 Spain F7 Spain F8 Spain F9 Chile F1 Chile F2 Chile F3 Spain F14 Spain F11 Spain F16 Spain F20 Spain F21 Spain F22 Spain F23 Spain F24 Spain F25 Spain F26 Spain F27 Spain F28 Spain F29 Spain F31 Spain F32 Spain F33 Spain F34 Spain F35 Spain F36 Spain F39 Egypt F2 Egypt F3 Portugal F1 Portugal F2 Spain F3 Spain F4 Spain F5 Algeria F1 Tunisia F1 Tunisia F2 Tunisia F3 Spain F12 Spain F13 Spain F14 Spain F15 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Belgium F10 Belgium F11 Belgium F12 Spain F24 Spain F28 Portugal F8 Portugal F9 Spain F31 Tunisia F7 Tunisia F8 Tunisia F9 Tunisia F10 Tunisia F11 India F1 India F2 Tunisia F12 Tunisia F13 Tunisia F14 Algeria F2 Algeria F3 Egypt F22 Egypt F23 Spain F18 Spain F19 Tunisia F18 Tunisia F19 Tunisia F20 Tunisia F21 Spain F33 Tunisia F28 Tunisia F29 Spain F3 Tunisia F31 Tunisia F32 Spain F17 Tunisia F33 Romania F11 Tunisia F6 Tunisia F7 Turkey F12 Turkey F13 Nigeria F1 Nigeria F2 Nigeria F3 Nigeria F4 Bulgaria F1 Bulgaria F2 Bulgaria F3 Egypt F22 Tunisia F25 Tunisia F26 Tunisia F27 Turkey F42 Kuwait F2 Kuwait F3 Turkey F47 Spain F16 Spain F10 (Madrid) Tunisia F17 (Hammamet) Turkey F20 (Antalya) Turkey F21 (Antalya) Spain F17 (Martos) Spain F18 (Palma del Rio) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F16 (Sintra) Portugal F17 (Sintra) Portugal F18 (Sintra) Egypt F25 (Cairo) Egypt F26 (Sharm El Sheikh) Egypt F27 (Sharm El Sheikh) Egypt F28 (Sharm El Sheikh) Egypt F29 (Sharm El Sheikh) Egypt F30 (Sharm El Sheikh) Egypt F31 (Sharm El Sheikh) Egypt F33 (Sharm El Sheikh) Egypt F34 (Sharm El Sheikh) Egypt F35 (Sharm El Sheikh) Pakistan F1 (Islamabad) Croatia F1 (Rovinj) Croatia F2 (Porec) Croatia F3 (Opatija) Tunisia F13 (Jerba) Tunisia F14 (Jerba) Uganda F3 (Kampala) Uganda F4 (Kampala) Spain F13 (Sta. Margarida Montbui) Romania F10 Sri Lanka F1 (Colombo) Sri Lanka F2 (Colombo) Spain F33 Sri Lanka F3 (Colombo) Malaysia F1 (Kuala Lumpur) Malaysia F2 (Kuala Lumpur) Spain F22 (Pozoblanco) Egypt F21 (Sharm El Sheikh) Egypt F22 (Sharm El Sheikh) Egypt F23 (Sharm El Sheikh) Egypt F26 (Sharm El Sheikh) Egypt F27 (Sharm El Sheikh) Egypt F28 (Sharm El Sheikh) Spain F20 M25+H Oliveira De Azemeis M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Maputo M15 Maputo M15 Telde M15 Cairo M15 Cancun M15 Cancun M15 Monastir M15 Monastir M15 Monastir M15 Sharm El Sheikh Spain F15 M15 Parnu M15 Monastir M15 Monastir M25 Mungia M25 Gandia Spain F32 M15 Cairo M15 Heraklion M15 Heraklion M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Monastir M15 Aktobe M15 Aktobe M25 New Delhi M25 Lucknow M15 Chennai M15 Monastir M25 Martos Algeria F1 M15 Heraklion M15 Madrid M15 Madrid M15 Monastir Portugal F9 (Setubal) Quimper Challenger Casablanca Challenger Tampere Challenger Tunisia F34 Tunisia F5 Columbus Challenger Turkey F14 M25 Idanha-a-Nova Maia Challenger M25 Mungia-Laukariz Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger M25 La Nucia Tanger Challenger Rabat Challenger Tallahassee Challenger Reggio Emilia Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Izmir Challenger Courmayeur Challenger Casablanca Challenger Pingguo Challenger Rome Challenger Cremona Challenger Mamaia Challenger - Constanta Furth Challenger Marburg Challenger Braunschweig Challenger Segovia Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian San Marino Challenger San Sebastian Challenger Eckental Challenger Kazan Challenger Bergamo Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Mersin Challenger Kosice Challenger Milan Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Seville Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Marbella Challenger Bordeaux Challenger Furth Challenger Todi Challenger Poznan Challenger Guimaraes Challenger Seville Challenger Sao Paulo Challenger Heilbronn Challenger Quimper Challenger Guangzhou Challenger St. Brieuc Challenger Kos Succhetti Tennis Cup - Cordenons Tampere Challenger Kosice Challenger Szczecin Challenger New Delhi Challenger Gimcheon Challenger Recanati Challenger Astana Challenger Seville Challenger Rome Challenger Mohammedia Challenger Casablanca Challenger Bergamo Challenger Kazan Challenger Marburg Challenger Todi Challenger Poznan Challenger Tampere Challenger Astana Challenger Fano Challenger Seville Challenger Meknes Challenger Trnava Challenger Kolkata Challenger Madrid Challenger Kosice Challenger Meknes Challenger Marrakech Challenger Segovia Challenger Mallorca Challenger Seville Challenger Cary Challenger Tiburon Challenger Leon Challenger Tunis Challenger Burnie Challenger Launceston Challenger Bangkok Challenger Bangkok Challenger Turin Challenger Yokohama Challenger Marbella Challenger Alicante Challenger Murcia Challenger Tunis Challenger Francavilla Challenger Braga Challenger Antalya 2 Challenger Mallorca Challenger Seville Challenger Biel Challenger Orleans Challenger Alicante Challenger Brest Challenger Tenerife Challenger Helsinki Challenger Quimper Challenger Rome Challenger Bordeaux Challenger Furth Challenger Maspalomas Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Roseto Degli Abruzzi Challenger Moscow Challenger Aix En Provence Challenger Tunis Challenger Vicenza Challenger M25 Santa Margherita di Pula Seville Challenger San Benedetto Challenger Anning Challenger Drummondville Challenger Chennai Challenger Cassis Challenger Bratislava Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril If Stockholm Open - Stockholm Open 13 - Marseille Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney Open Sud de France - Montpellier VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo Erste Bank Open - Vienna ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle Antalya Cup - Antalya Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem Chengdu Open - Chengdu China Open - Beijing Swiss Indoors Basel - Basel ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Generali Open - Kitzbuhel European Open - Antwerp Hamburg European Open - Hamburg Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu European Open - Antwerp Open Sud de France - Montpellier Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel Barcelona Open BancSabadell - Barcelona St. Petersburg Open - St. Petersburg Open Sud de France - Montpellier BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne U.S. Open - New York Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 Davis Cup, World Group, PO, POR-CZE 1-3 All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo French Open - Paris Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group I, PO, LTU-POR 0-4 M15 Sharm ElSheikh